package priv.pattern.statemodel.example1.abs.impl;

import priv.pattern.statemodel.example1.VedioContext;
import priv.pattern.statemodel.example1.abs.VedioState;

/*
 * 作者：m鹏h
 * 时间；2024/8/10 22:57
 * 描述：视频快进状态
 *      快进状态下 , 可以进行 播放 , 暂停 , 停止操作
 **/
public class SpeedState extends VedioState {
 /**
  * 播放时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext
  *      将上下文 VedioContext 中的状态 , 设置为 播放 的状态即可
  */
 @Override
 public void play() {
  super.vedioContext.setVedioState(VedioContext.PLAY_STATE);
 }

 /**
  * 暂停时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext
  *      将上下文 VedioContext 中的状态 , 设置为 暂停 的状态即可
  */
 @Override
 public void pause() {
  System.out.println("快进播放视频");
 }

 /**
  * 快进时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext
  *      将上下文 VedioContext 中的状态 , 设置为 快进 的状态即可
  */
 @Override
 public void speed() {
  super.vedioContext.setVedioState(VedioContext.SPEED_STATE);
 }

 /**
  * 停止时 , 只需要调用 PlayState 父类 VedioState 的上下文 VedioContext
  *      将上下文 VedioContext 中的状态 , 设置为 停止 的状态即可
  */
 @Override
 public void stop() {
  super.vedioContext.setVedioState(VedioContext.STOP_STATE);
 }
}


